// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently

#pragma once

#ifndef STRICT
#define STRICT
#endif

// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER				// Allow use of features specific to Windows XP or later.
#define WINVER 0x0501		// Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINNT		// Allow use of features specific to Windows XP or later.                   
#define _WIN32_WINNT 0x0501	// Change this to the appropriate value to target other versions of Windows.
#endif						

#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif

#ifndef _WIN32_IE			// Allow use of features specific to IE 6.0 or later.
#define _WIN32_IE 0x0600	// Change this to the appropriate value to target other versions of IE.
#endif

#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE

#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit

#define _CRT_SECURE_NO_WARNINGS

#include "resource.h"
#include <atlbase.h>
#include <atlcom.h>
#include <atlctl.h>
#include "atlstr.h"
#include "atltime.h"
#include <vector>
using namespace ATL;

#define TRACE ATLTRACE
#define TRACE1 AtlTrace
#define TRACE2 AtlTrace
#define TRACE3 AtlTrace

//-----------------------------------------------------------------
// HRESULT
#ifndef CheckPointer
#define CheckPointer(p,ret) {if((p)==NULL) return (ret);}
#endif	// CheckPointer

#ifndef CHKHR
#define CHKHR				{ if (FAILED(hr)) return hr; }
#endif	// CHKHR

#ifndef CHKHR_THROW
#define CHKHR_THROW			{ if (FAILED(hr)) throw hr; }
#endif	// CHKHR_THROW

#ifndef CHKHR_RT
#define CHKHR_RT			{ if (FAILED(hr)) return; }
#endif	// CHKHR_RT

#ifndef CHKHR_JMP
#define CHKHR_JMP			{ if (FAILED(hr)) goto CLEANUP; }
#endif	// CHKHR_RT

#ifndef CHECK_RESULT
#define CHECK_RESULT(hr)	{ if (FAILED(hr)) return hr; }
#endif	// CHECK_RESULT
